Vehicles such as automobiles commonly implement electronic control logic for various systems and sub-systems. Such electronic controls typically incorporate data communications between the various computing modules involved in the control system. In a vehicle stability control system, for example, electronic signals from an engine control module (ECM) or supervisory control module (SCM) can be used to place various vehicle sub-systems (e.g., braking, steering, suspension) into desired operating modes, to exchange data and instructions between the various components of the control system, and/or to carry out other tasks.
To ensure that data exchanged between control modules is reliable, typically control systems incorporate error checking techniques such as parity checks, cyclic redundancy checks (CRCs) and/or the like. Conventionally, a device preparing a data message computes a digital verification code based upon the contents of the message using a particular algorithm. The resulting verification code can then be appended to the message during transmission. The receiving module verifies the code using the same algorithm as the transmitting module to ensure that the contents of the message did not change during transmission; that is, by comparing a code computed prior to transmission with a code computed according to the same algorithm after transmission, the contents of the message can be verified to ensure that no bit errors occurred during transmission. Examples of well-known algorithms for computing reliable verification codes include the so-called CRC32 and MD4 algorithms, among others.
While error checking routines are highly reliable, they do exhibit several disadvantages in terms of bandwidth and computing resources. Particularly in the vehicle setting, where computing resources and communications bandwidth are limited, the additional space and time required to transmit the verification code are undesirable from an engineering standpoint.
It is therefore desirable to formulate a control scheme that is capable of efficiently representing the operating states of a control system without sacrificing safety or robustness. Moreover, it is desirable to create a data structure capable of efficiently and robustly representing control data, particularly within the automotive context. Furthermore, other desirable features and characteristics will become apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and the foregoing technical field and background.